<?php

namespace app\admin\controller;

use think\Controller;
use think\Request;

class Manager extends Controller
{
    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        $res=db('manager')->select();
        $this->assign('res',$res);
        return view();
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        return view();
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save()
    {
        if (request()->isPost()) {
            $data=input('post.');
            $data['addtime']=time();
            $data['password']=md5($data['password']);
            $validate=validate('Manager');
            if (!$validate->scene('save')->check($data)) {
                $this->error($validate->getError());
            }
            $add=model('Manager')->allowField(true)->save($data);
            if ($add) {
                $this->success('添加管理员成功','index');
            }
            $this->error('添加失败');
        }
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        if (request()->isPost()) {
            $data=input('post.');
            
            if (empty($data['password'])) {
                unset($data['password']);
              }else{
                $data['password']=md5($data['password']);
              }
            $validate=validate('Manager');
            if (!$validate->scene('save')->check($data)) {
                $this->error($validate->getError());
            }
            $edit=model('Manager')->save($data,['id'=>$data['id']]);
            if ($edit) {
                $this->success('编辑管理员成功','index');
            }
            $this->error('编辑失败');
        }
        $res=db('manager')->find($id);
        $this->assign('res',$res);
       return view();
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function status()
    {
        if (request()->isAjax()) {
            $id=input('id');
            if ($id==1) {
                return json(['code'=>2,'msg'=>'管理员状态不能锁定']);
            }
            $res=db('manager')->where('id',$id)->value('status');
            if ($res==1) {
                $man=db('manager')->where('id',$id)->setField('status',0);
            }else{
                $man=db('manager')->where('id',$id)->setField('status',1);
            }
            if ($man) {
               return json(['code'=>1,'msg'=>'状态修改成功']);
            }
            return json(['code'=>2,'msg'=>'状态修改失败']);
        }
    }
    

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {   
        if ($id==1) {
          return json(['code'=>2,'msg'=>'超级管理员不能删除']);
        }
        $res=db('manager')->delete($id);
        if ($res) {
            return json(['code'=>1,'msg'=>'管理员删除成功']);
        }
        return json(['code'=>2,'msg'=>'删除失败']);
    }
}
